package com.anti.modular.bus.billwater.param;

import com.anti.commom.pojo.BaseParam;
import lombok.Data;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;

/**
* 账单流水参数类
 *
 * @author anti
 * @date 2021-04-24 13:44:46
*/
@Data
public class BillWaterParam extends BaseParam {

    /**
     * 主键id
     */
    @NotNull(message = "主键id不能为空，请检查id参数", groups = {edit.class, delete.class, detail.class})
    private Long id;

    private Long roomId;

    /**
     * 房间名
     */
    @NotBlank(message = "房间名不能为空，请检查roomName参数", groups = {add.class, edit.class})
    private String roomName;

    /**
     * 姓名
     */
    @NotBlank(message = "姓名不能为空，请检查name参数", groups = {add.class, edit.class})
    private String name;

    /**
     * 来源 （字典 bill_water_source）
     */
    @NotNull(message = "来源 （字典 bill_water_source）不能为空，请检查source参数", groups = {add.class, edit.class})
    private Integer source;

    /**
     * 金额
     */
    @NotNull(message = "金额不能为空，请检查amount参数", groups = {add.class, edit.class})
    private BigDecimal amount;

    /**
     * 應收日期
     */
    private Date shouldReceiveDate;
    /**
     * 实收日期
     */
    @NotNull(message = "实收日期不能为空，请检查receiveDate参数", groups = {add.class, edit.class})
    private String receiveDate;

    /**
     * 操作日期
     */
    @NotNull(message = "操作日期不能为空，请检查operatingDate参数", groups = {add.class, edit.class})
    private String operatingDate;

    /**
     * 交易方式编码
     */
    @NotNull(message = "交易方式编码不能为空，请检查transaction参数", groups = {add.class, edit.class})
    private Integer transaction;

    /**
     * 交易方式
     */
    @NotBlank(message = "交易方式不能为空，请检查transactionName参数", groups = {add.class, edit.class})
    private String transactionName;

    /**
     * 经办人id
     */
    @NotNull(message = "经办人id不能为空，请检查managerId参数", groups = {add.class, edit.class})
    private Long managerId;

    /**
     * 经办人
     */
    @NotBlank(message = "经办人不能为空，请检查manager参数", groups = {add.class, edit.class})
    private String manager;

    /**
     * 经办时间
     */
    @NotNull(message = "经办时间不能为空，请检查managertTime参数", groups = {add.class, edit.class})
    private String managertTime;

    /**
     * 审核标志
     */
    @NotNull(message = "审核标志不能为空，请检查auditFlag参数", groups = {add.class, edit.class})
    private Integer auditFlag;

    /**
     * 审核人ID
     */
    @NotNull(message = "审核人ID不能为空，请检查auditId参数", groups = {add.class, edit.class})
    private Long auditId;

    /**
     * 审核人
     */
    @NotBlank(message = "审核人不能为空，请检查auditName参数", groups = {add.class, edit.class})
    private String auditName;

    /**
     * 审核时间
     */
    @NotNull(message = "审核时间不能为空，请检查auditTime参数", groups = {add.class, edit.class})
    private String auditTime;

    /**
     * 流入流出類型
     */
    private Integer billInOutType;

    /**
     * 关联上游账单id
     */
    private Long billId;

    /**
     * 关联上游账单数据表
     */
    private String billTable;

    /**
     * 訂單單號
     */
    private String no;

    /**
     * 状态（字典 0正常 1注銷 2刪除）
     */
    private Integer status;

}
